Macro Rotate To Point
|
Description
|
Macro pour faire tourner un objet sur lui-même sur un axe de rotation : centre de la boîte englobante, centre de masse, direction d'une polyligne ou du dernier point cliqué. Vous pouvez sauvegarder les coordonnées travaillées dans un fichier de coordonnées [(0.06,1.30,0.0),(85.0,0.0,0.0)] ou dans une macro complète pour créer une animation.
Version macro : 00.11 Date dernière modification : 2022/10/17 Version FreeCAD : 0.19 et plus Téléchargement : Icône de la barre d'outils Auteur: Mario52
|
Auteur
|
Mario52
|
Téléchargement
|
Icône de la barre d'outils
|
Liens
|
Page des macros Comment installer une macro Comment créer une barre d'outils
|
Version Macro
|
00.11
|
Dernière modification
|
2022/10/17
|
Version(s) FreeCAD
|
0.19 et plus
|
Raccourci clavier
|
None
|
Voir aussi
|
None
|
|
|
Description
Macro pour faire tourner un objet sur lui-même avec l'axe de rotation étant soit le :
- le centre de la boîte englobante
- le centre de masse
- la direction de la polyligne
- le long de la polyligne
- le dernier point cliqué
Vous pouvez enregistrer dans un fichier toutes les coordonnées travaillées et les sauvegarder dans un fichier "Coordonnées [(0.06,1.30,0.0),(85.0,0.0,0.0)]" ou dans une macro complète avec différentes options (créer une image de série) pour créer une animation, augmentation/diminution, pause, yoyo...
Temporary code for external macro link. Do not use this code. This code is used exclusively by Addon Manager. Link for optional manual installation: Macro
# This code is copied instead of the original macro code
# to guide the user to the online download page.
# Use it if the code of the macro is larger than 64 KB and cannot be included in the wiki
# or if the RAW code URL is somewhere else in the wiki.
from PySide import QtGui, QtCore
diag = QtGui.QMessageBox(QtGui.QMessageBox.Information,
"Information",
"This macro must be downloaded from this link\n"
"\n"
"https://gist.githubusercontent.com/mario52a/2fc48333deca5a31e6232c29a9db5e4c/raw/d9419d4bb13e36940eb2f56c3c469ea4182827ee/Macro%2520Rotate%2520To%2520Point.FCMacro" + "\n"
"\n"
"Quit this window to access the download page")
diag.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)
diag.setWindowModality(QtCore.Qt.ApplicationModal)
diag.exec_()
import webbrowser
webbrowser.open("https://gist.githubusercontent.com/mario52a/2fc48333deca5a31e6232c29a9db5e4c/raw/d9419d4bb13e36940eb2f56c3c469ea4182827ee/Macro%2520Rotate%2520To%2520Point.FCMacro")
Utilisation
- Téléchargez la macro depuis le
Gestionnaire des extensions
- Exécutez la macro
- Sélectionnez un objet
- Choisissez l'une des orientations suivantes :
[1] Position Rotation
Première opération
Translation : si cette case à cocher est
activé, la rotation est désactivée, le placement de l'objet se fait sur l'axe ou le chemin sélectionné.
La SpinBox 1,00000 Degrees
est réinitialisée à 0.0
et colorée en rouge.
- Le chronomètre affiche le temps passé avec votre macro préférée.
[2] Translation Rotation
Seconde opération
Point Rotation
- Boundbox Center : sélectionnez la rotation du centre de la boîte de délimitation par rapport à l'axe
- Center of Mass : sélectionnez la rotation du centre de masse par rapport à l'axe
- Point Clicked : sélectionnez le dernier clic de souris comme point de rotation de l'axe
- 1 : sélectionnez l'objet
- 2 : utilisez la touche CTRL pour choisir un objet supplémentaire
Axis Rotation
- Rotation(Z) Yaw : axe de lacet
- Rotation(Y) Pitch : axe de tanguage
- Rotation(X) Roll : axe de roulis
- Rotation(D) Direction : rotation autour de la ligne, polyligne sélectionnée
- Follow the path : suivez le chemin créé par la polyligne, la ligne, l'arête.
- 1 : sélectionnez l'objet
- 2 : sélectionnez le chemin
La SpinBox 1,00000 Degrees
est réinitialisée à 0.0
et colorée en rouge
Coordinates Point clicked
- DoubleSpinBox : coordonnée X au clic de la souris (modifiable uniquement avec le mode "Point Clicked")
- DoubleSpinBox : coordonnée Y au clic de la souris (modifiable uniquement avec le mode "Point Clicked")
- DoubleSpinBox : coordonnée Z au clic de la souris (modifiable seulement avec le mode "Point Clicked")
[3] Work (Box : Cube)
Troisième opération
View : si la case est cochée, la vue revient sur la dernière vue de l'objet sélectionné (fonctionne avec la comboBox en dessous) et tous les paramètres sont restaurés.
- Point : si cette case à cocher est cochée, un point est créé pour visualiser l'axe de rotation des points : rouge X, vert Y, bleu Z.
- Center : un point est créé au centre du cercle.
- Box
: liste de tous les objets utilisés. Si le choix de l'objet est fait ici, le zoom (si la case à cochér Vue est cochée) est retourné et tous les paramètres restaurés.
- 0
: valeurs prédéfinies.
- 1.0
: sélectionne une valeur utilisée.
- - Invert : inverse le signe Positif/Négatif de la valeur affichée.
- 0,0000
: rntrez la modification.
- Apply : applique la modification à l'objet.
- Line Edit : l'édition de ligne affiche les coordonnées d'origine de l'axe sélectionné + les données d'entrée données dans la spinBox
- Les coordonnées sont affichées
Data to save
- Fenêtre d'affichage des coordonnées mémorisées
- Clear : supprime et nettoie l'éditeur de texte
- Delete : efface la ligne sélectionnée
Memo on Click :
- Memorize : mémorise et affiche les coordonnées
- Save : sauvegarde les données dans un fichier
Macro :
- Mode normal
Macro Les coordonnées sont sauvegardées dans ce mode : [(0.06,1.30,0.0),(85.0,0.0,0.0)]
- Mode macro
0,0 Coordinate Les coordonnées sont sauvées dans une macro complète (un ou plusieurs objet(s)) directement dans votre répertoire de macros avec le même nom que le document et l'extension .FCMacro
- Options de la macro
- __pompe____engrenage__ : nom du document
- __22 Coordinates__ : nombre de coordonnées
- Type Key Q to Quit : quitte la macro
- Type Key A to Create serial image : crée une série d'images pour créer un Animate GIF (avec Gimp ou autre)
- Type Key D to Decrease speed : diminue la vitesse de l'animation
- Type Key I to Increase speed : augmente la vitesse de l'animation
- Type Key P to Pause/Continue or key RETURN or ESCAPE : pause/animation
- Type Key S to Step by Step (key RETURN or ESCAPE to continue) : pas à pas
- Type Key V to reVerse : inverse la video
- Type Key Y to YoYo : du début à la fin et inverse de la fin au début
- Type Key M for this message : affiche ce memo
- Pour utiliser ces options, cliquez sur la souris dans la vue 3D et tapez la touche désirée.
- ____________________________
- Mode normal
Memo on Click : les données ne sont pas sauvées dans la fenêtre de mémorisation, vous devez sauver les coordonnées avec le bouton Memo (2) (Le compteur affiche le nombre de coordonnées sauvées)
- Mode Memo on Click
Memo on Demand : les données sont automatiquement sauvées a chaque clic sur le bouton Apply
- Copy : mémoriser le contenu de la fenêtre dans format Rotate_To_Point :
["Body004001",(0.0,0.0,-1.5),(0.0,0.0,0.0)],
Command
- Quit : quitte la macro.
- Original : après avoir modifié les données de l'objet, vous pouvez revenir à l'emplacement d'origine, si vous n'avez pas désélectionné l'objet actuel.
- 0,0,0 : cette option place l'objet en coordonnées de base
0,0,0
.
- Reset : réinitialise les données dans la macro et désélectionne l'objet en cours (même clic de souris dans la vue 3D).
Icône pour la barre d'outils (PNG)
ou (SVG)
Exemple
Liens
Le forum feature req: placement - rotate part around its midpoint
Mes macro sur Gist mario52a
Version
2022/10/17 Version=00.11 : nouvelle organisation GUI, Déplacement sur un chemin, restitution de la vue et des données de l'objet, Bouton Copy, ajout menu Image dans la macro sauvée, ajout d'un "QtWidgets.QScrollArea()" ...
2021/03/08 Version=00.10 : ajout du zoom sur l'objet cliqué, valeur mémoire, valeurs imposées
2021/02/25 Version=00.09 : correction de la macro créée : cause multi objets possible
App.ActiveDocument.getObject(p[0]).Placement
au lieu de
2021/02/22 Version=00.08c : correct le center facePoint (19h26 Paris)
2021/02/22 Version=00.08b : correct le center facePoint (17h23 Paris)
2021/02/22 Version=00.08 : ajout sauvegarde du fichier macro avec un ou plusieurs objets déplacés
2021/01/24 Version=00.07 : ajout de l'option R: reverse
2021/01/12 ver 00.06 : ajout de la section Data et d'autres options
2020/03/07 ver 00.05.2 : correction du bug translation effacée "direction = myObject.Placement.Rotation.multVec(direction)"
2020/03/01 ver 00.05.1 : correction de la position du test "FreeCAD version"
2020/02/29 ver 00.05 : conversion pour Hdpi (Layout) et ajout fonction Direction
06/04/2019 ver 00.04 : Python 3
29/03/2018 ver 00.03 : commenter les lignes "FreeCAD.ActiveDocument.recompute()" le changement de valeur est trop lente dans FreeCAD 0.17.... voir FC0.17 recompute strange behaviour (regression)
27/03/2017 ver 00.02 : modification du spinbox "Pos" maintenant accepte les valeurs négatives
05/03/2017 ver 00.01 : ajout de 3 boîtes de dialogue pour afficher les coordonnées X Y Z au clic de souris
04/03/2017 ver 00.00